Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Oct 23, 2025

⚠ NEVER add commits to this pull request.

🤖 This pull request was automatically created to facilitate human review of @webref/css6 changes triggered by curated data at 327454b.

🧐 Please review the diff below and version numbers. If all looks good, merge this pull request to release the changes to npm.

📦 Latest released @webref/css6 package was v6.23.15. Merging this pull request will release v6.23.16. Make sure that the bump is the right one for the changes.

✍ If any change needs to be made before release, do not add a commit to this pull request. Changes should rather be handled in a separate pull request and pushed to the main branch. You may leave this pull request open in the meantime, or close it. The pre-release job will automatically update this pull request or create a new one once the updates have made their way to the main branch.

🛈 The actual change introduced by this pull request is a version bump in packages/css6/package.json. You do not need to review that change. The bumped version is not the version that will be released when this pull request is merged, but rather the version that will be released next time.

diff --ignore-trailing-space '--exclude=package.json' '--exclude=README.md' '--exclude=CHANGELOG.md' '--unified=3' webref/node_modules/@webref/css/css-animations-2.json packages/css6/css-animations-2.json
--- webref/node_modules/@webref/css/css-animations-2.json
+++ packages/css6/css-animations-2.json
@@ -69,54 +69,56 @@
       ]
     },
     {
-      "name": "animation-trigger-behavior",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-behavior",
-      "value": "<single-animation-trigger-behavior>#",
-      "initial": "once",
+      "name": "animation-trigger",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger",
+      "value": "[ none | [ <dashed-ident> <animation-action>+ ]+ ]#",
+      "initial": "none",
       "appliesTo": "all elements",
       "inherited": "no",
       "percentages": "N/A",
-      "computedValue": "list, each item a keyword as specified",
+      "computedValue": "as specified",
       "canonicalOrder": "per grammar",
       "animationType": "not animatable",
       "values": [
         {
-          "name": "once",
-          "prose": "The animation is triggered and played once and only once.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-behavior-once",
-          "type": "value",
-          "value": "once"
-        },
-        {
-          "name": "repeat",
-          "prose": "The animation is played from the beginning each time it is triggered. When the trigger’s active interval is exited the animation is reset.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-behavior-repeat",
-          "type": "value",
-          "value": "repeat"
-        },
-        {
-          "name": "alternate",
-          "prose": "The animation is played forwards, according to its playback direction, each time it is triggered. When the trigger’s active interval is exited the animation is reversed.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-behavior-alternate",
+          "name": "none",
+          "prose": "The corresponding animation is not a triggered animation.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-none",
           "type": "value",
-          "value": "alternate"
+          "value": "none"
         },
         {
-          "name": "state",
-          "prose": "The animation is triggered and played once. When the trigger’s active interval is exited the animation is paused. When the trigger’s active interval is re-entered the animation is resumed.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-behavior-state",
+          "name": "[ <dashed-ident> <animation-action>+ ]+",
+          "prose": "The corresponding animation is a triggered animation, responding to the triggers named by each <dashed-ident>, and responding by taking the action named by the corresponding <animation-action>. (See § 5.1 Trigger Scope/Resolution for how <dashed-ident>s are resolved to triggers.) How many <animation-action>s a trigger accepts, and what exactly activates them, is determined by the type of the trigger. (Event triggers take one and possibly an optional second, depending on whether they’re stateless or stateful; timeline triggers take one and optionally a second.) Specifying the wrong number of actions (too many or too few) is valid syntactically, but causes the trigger to have no effect. If multiple triggers occur simultaneously, they take effect in the order specified. If the same <dashed-ident> is specified multiple times, all but the last have no effect.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger--dashed-ident-animation-action",
           "type": "value",
-          "value": "state"
+          "value": "[ <dashed-ident> <animation-action>+ ]+"
         }
       ],
       "styleDeclaration": [
-        "animation-trigger-behavior",
-        "animationTriggerBehavior"
+        "animation-trigger",
+        "animationTrigger"
       ]
     },
     {
-      "name": "animation-trigger-timeline",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-timeline",
+      "name": "timeline-trigger-name",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-name",
+      "value": "none | <dashed-ident>#",
+      "initial": "none",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "N/A",
+      "computedValue": "as specified",
+      "canonicalOrder": "per grammar",
+      "animationType": "not animatable",
+      "styleDeclaration": [
+        "timeline-trigger-name",
+        "timelineTriggerName"
+      ]
+    },
+    {
+      "name": "timeline-trigger-source",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-source",
       "value": "<single-animation-timeline>#",
       "initial": "auto",
       "appliesTo": "all elements",
@@ -126,14 +128,14 @@
       "canonicalOrder": "per grammar",
       "animationType": "not animatable",
       "styleDeclaration": [
-        "animation-trigger-timeline",
-        "animationTriggerTimeline"
+        "timeline-trigger-source",
+        "timelineTriggerSource"
       ]
     },
     {
-      "name": "animation-trigger-range",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-range",
-      "value": "[ <'animation-trigger-range-start'> <'animation-trigger-range-end'>? ]#",
+      "name": "timeline-trigger-range",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-range",
+      "value": "[ <'timeline-trigger-range-start'> <'timeline-trigger-range-end'>? ]#",
       "initial": "see individual properties",
       "appliesTo": "see individual properties",
       "inherited": "see individual properties",
@@ -142,13 +144,13 @@
       "animationType": "see individual properties",
       "canonicalOrder": "per grammar",
       "styleDeclaration": [
-        "animation-trigger-range",
-        "animationTriggerRange"
+        "timeline-trigger-range",
+        "timelineTriggerRange"
       ]
     },
     {
-      "name": "animation-trigger-range-start",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-range-start",
+      "name": "timeline-trigger-range-start",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-range-start",
       "value": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
       "initial": "normal",
       "appliesTo": "all elements",
@@ -158,13 +160,13 @@
       "canonicalOrder": "per grammar",
       "animationType": "not animatable",
       "styleDeclaration": [
-        "animation-trigger-range-start",
-        "animationTriggerRangeStart"
+        "timeline-trigger-range-start",
+        "timelineTriggerRangeStart"
       ]
     },
     {
-      "name": "animation-trigger-range-end",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-range-end",
+      "name": "timeline-trigger-range-end",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-range-end",
       "value": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
       "initial": "normal",
       "appliesTo": "all elements",
@@ -174,14 +176,14 @@
       "canonicalOrder": "per grammar",
       "animationType": "not animatable",
       "styleDeclaration": [
-        "animation-trigger-range-end",
-        "animationTriggerRangeEnd"
+        "timeline-trigger-range-end",
+        "timelineTriggerRangeEnd"
       ]
     },
     {
-      "name": "animation-trigger-exit-range",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-exit-range",
-      "value": "[ <'animation-trigger-exit-range-start'> <'animation-trigger-exit-range-end'>? ]#",
+      "name": "timeline-trigger-exit-range",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-exit-range",
+      "value": "[ <'timeline-trigger-exit-range-start'> <'timeline-trigger-exit-range-end'>? ]#",
       "initial": "see individual properties",
       "appliesTo": "see individual properties",
       "inherited": "see individual properties",
@@ -189,14 +191,23 @@
       "computedValue": "see individual properties",
       "animationType": "see individual properties",
       "canonicalOrder": "per grammar",
+      "values": [
+        {
+          "name": "auto",
+          "prose": "The start (for timeline-trigger-exit-range-start) or end (for timeline-trigger-exit-range-end) is equal to the start/end of the timeline trigger’s enter range.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-exit-range-auto",
+          "type": "value",
+          "value": "auto"
+        }
+      ],
       "styleDeclaration": [
-        "animation-trigger-exit-range",
-        "animationTriggerExitRange"
+        "timeline-trigger-exit-range",
+        "timelineTriggerExitRange"
       ]
     },
     {
-      "name": "animation-trigger-exit-range-start",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-exit-range-start",
+      "name": "timeline-trigger-exit-range-start",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-exit-range-start",
       "value": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
       "initial": "auto",
       "appliesTo": "all elements",
@@ -208,41 +219,20 @@
       "values": [
         {
           "name": "auto",
-          "prose": "The start of the trigger’s exit range is equal to the start of its default range.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-start-auto",
+          "prose": "The start (for timeline-trigger-exit-range-start) or end (for timeline-trigger-exit-range-end) is equal to the start/end of the timeline trigger’s enter range.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-exit-range-auto",
           "type": "value",
           "value": "auto"
-        },
-        {
-          "name": "normal",
-          "prose": "The start of the trigger’s exit range is the start of its associated timeline; the start of the trigger’s active interval is determined as normal.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-start-normal",
-          "type": "value",
-          "value": "normal"
-        },
-        {
-          "name": "<length-percentage>",
-          "prose": "The exit range starts at the specified point on the timeline measuring from the start of the timeline.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-start-length-percentage",
-          "type": "value",
-          "value": "<length-percentage>"
-        },
-        {
-          "name": "<timeline-range-name> <length-percentage>?",
-          "prose": "The exit range starts at the specified point on the timeline measuring from the start of the specified named timeline range. If the <length-percentage> is omitted, it defaults to 0%.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-start-timeline-range-name-length-percentage",
-          "type": "value",
-          "value": "<timeline-range-name> <length-percentage>?"
         }
       ],
       "styleDeclaration": [
-        "animation-trigger-exit-range-start",
-        "animationTriggerExitRangeStart"
+        "timeline-trigger-exit-range-start",
+        "timelineTriggerExitRangeStart"
       ]
     },
     {
-      "name": "animation-trigger-exit-range-end",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger-exit-range-end",
+      "name": "timeline-trigger-exit-range-end",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-exit-range-end",
       "value": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
       "initial": "auto",
       "appliesTo": "all elements",
@@ -254,52 +244,113 @@
       "values": [
         {
           "name": "auto",
-          "prose": "The end of the trigger’s exit range is equal to the end of its default range.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-end-auto",
+          "prose": "The start (for timeline-trigger-exit-range-start) or end (for timeline-trigger-exit-range-end) is equal to the start/end of the timeline trigger’s enter range.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-exit-range-auto",
           "type": "value",
           "value": "auto"
-        },
+        }
+      ],
+      "styleDeclaration": [
+        "timeline-trigger-exit-range-end",
+        "timelineTriggerExitRangeEnd"
+      ]
+    },
+    {
+      "name": "timeline-trigger",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger",
+      "value": "none | [ <'timeline-trigger-name'> <'timeline-trigger-source'> <'timeline-trigger-range'> [ '/' <'timeline-trigger-exit-range'> ]? ]#",
+      "initial": "see individual properties",
+      "appliesTo": "see individual properties",
+      "inherited": "see individual properties",
+      "percentages": "see individual properties",
+      "computedValue": "see individual properties",
+      "animationType": "see individual properties",
+      "canonicalOrder": "per grammar",
+      "values": [
         {
-          "name": "normal",
-          "prose": "The end of the trigger’s exit range is the end of its associated timeline; the end of the trigger’s active interval is determined as normal.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-end-normal",
+          "name": "none",
+          "prose": "A value of none is equivalent to none none normal.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-none",
           "type": "value",
-          "value": "normal"
-        },
+          "value": "none"
+        }
+      ],
+      "styleDeclaration": [
+        "timeline-trigger",
+        "timelineTrigger"
+      ]
+    },
+    {
+      "name": "event-trigger-name",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-event-trigger-name",
+      "value": "none | <dashed-ident>#",
+      "initial": "none",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "N/A",
+      "computedValue": "as specified",
+      "canonicalOrder": "per grammar",
+      "animationType": "not animatable",
+      "styleDeclaration": [
+        "event-trigger-name",
+        "eventTriggerName"
+      ]
+    },
+    {
+      "name": "event-trigger-source",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-event-trigger-source",
+      "value": "[ none | <event-trigger-event>+ [ / <event-trigger-event>+ ]? ]#",
+      "initial": "none",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "N/A",
+      "computedValue": "as specified",
+      "canonicalOrder": "per grammar",
+      "animationType": "not animatable",
+      "values": [
         {
-          "name": "<length-percentage>",
-          "prose": "The exit range ends at the specified point on the timeline measuring from the start of the timeline.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-end-length-percentage",
+          "name": "none",
+          "prose": "The corresponding entry in the coordinated value list does not define a trigger.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-event-trigger-source-none",
           "type": "value",
-          "value": "<length-percentage>"
+          "value": "none"
         },
         {
-          "name": "<timeline-range-name> <length-percentage>?",
-          "prose": "The exit range ends at the specified point on the timeline measuring from the start of the specified named timeline range. If the <length-percentage> is omitted, it defaults to 100%.",
-          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-exit-range-end-timeline-range-name-length-percentage",
+          "name": "<event-trigger-event>+ [ / <event-trigger-event>+ ]?",
+          "prose": "Defines what event(s) the event trigger responds to. If a / is used in the value, the event trigger is stateful; the set of events before the / are the event trigger’s enter events, while those after the / are the exit events. (The same events can occur in both sets.) Otherwise, the event trigger is stateless, and the provided events are its enter events.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-event-trigger-source-event-trigger-event--event-trigger-event",
           "type": "value",
-          "value": "<timeline-range-name> <length-percentage>?"
+          "value": "<event-trigger-event>+ [ / <event-trigger-event>+ ]?"
         }
       ],
       "styleDeclaration": [
-        "animation-trigger-exit-range-end",
-        "animationTriggerExitRangeEnd"
+        "event-trigger-source",
+        "eventTriggerSource"
       ]
     },
     {
-      "name": "animation-trigger",
-      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger",
-      "value": "<single-animation-trigger>#",
-      "initial": "see individual properties",
+      "name": "event-trigger",
+      "href": "https://drafts.csswg.org/css-animations-2/#propdef-event-trigger",
+      "value": "none | [ <'event-trigger-name'> <'event-trigger-source'> ]#",
+      "initial": "none",
       "appliesTo": "all elements",
       "inherited": "no",
       "percentages": "N/A",
-      "computedValue": "see individual properties",
+      "computedValue": "as specified",
       "canonicalOrder": "per grammar",
       "animationType": "not animatable",
+      "values": [
+        {
+          "name": "none",
+          "prose": "A value of none is equivalent to none none.",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-event-trigger-none",
+          "type": "value",
+          "value": "none"
+        }
+      ],
       "styleDeclaration": [
-        "animation-trigger",
-        "animationTrigger"
+        "event-trigger",
+        "eventTrigger"
       ]
     }
   ],
@@ -356,22 +407,66 @@
       ]
     },
     {
+      "name": "<animation-action>",
+      "prose": "The possible <animation-action> values, and what effect they have in each animation state:",
+      "href": "https://drafts.csswg.org/css-animations-2/#typedef-animation-action",
+      "type": "type",
+      "values": [
+        {
+          "name": "none",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-none",
+          "type": "value",
+          "value": "none"
+        },
+        {
+          "name": "play",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-play",
+          "type": "value",
+          "value": "play"
+        },
+        {
+          "name": "play-forwards",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-play-forwards",
+          "type": "value",
+          "value": "play-forwards"
+        },
+        {
+          "name": "play-backwards",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-play-backwards",
+          "type": "value",
+          "value": "play-backwards"
+        },
+        {
+          "name": "pause",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-pause",
+          "type": "value",
+          "value": "pause"
+        },
+        {
+          "name": "reset",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-reset",
+          "type": "value",
+          "value": "reset"
+        },
+        {
+          "name": "replay",
+          "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-replay",
+          "type": "value",
+          "value": "replay"
+        }
+      ]
+    },
+    {
       "name": "<single-animation>",
       "value": "<'animation-duration'> || <easing-function> || <'animation-delay'> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ] || <single-animation-timeline>",
       "href": "https://drafts.csswg.org/css-animations-2/#typedef-single-animation",
       "type": "type"
     },
     {
-      "name": "<single-animation-trigger-behavior>",
-      "value": "once | repeat | alternate | state",
-      "href": "https://drafts.csswg.org/css-animations-2/#typedef-single-animation-trigger-behavior",
-      "type": "type"
-    },
-    {
-      "name": "<single-animation-trigger>",
-      "href": "https://drafts.csswg.org/css-animations-2/#typedef-single-animation-trigger",
+      "name": "<event-trigger-event>",
+      "href": "https://drafts.csswg.org/css-animations-2/#typedef-event-trigger-event",
       "type": "type",
-      "value": "<single-animation-trigger-behavior> || [ none | auto | [ [ <dashed-ident> | <scroll()> | <view()> ] [ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]{0,4} ] ]"
+      "value": "activate | click | touch | dblclick | keypress(<string>) | ..."
     }
   ]
 }

diff --ignore-trailing-space '--exclude=package.json' '--exclude=README.md' '--exclude=CHANGELOG.md' '--unified=3' webref/node_modules/@webref/css/css-backgrounds-4.json packages/css6/css-backgrounds-4.json
--- webref/node_modules/@webref/css/css-backgrounds-4.json
+++ packages/css6/css-backgrounds-4.json
@@ -5,6 +5,47 @@
   },
   "properties": [
     {
+      "name": "background-color",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-color",
+      "value": "<color>",
+      "initial": "transparent",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "N/A",
+      "computedValue": "computed color",
+      "canonicalOrder": "per grammar",
+      "animationType": "by computed value",
+      "styleDeclaration": [
+        "background-color",
+        "backgroundColor"
+      ]
+    },
+    {
+      "name": "background-image",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-image",
+      "value": "<bg-image>#",
+      "initial": "none",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "N/A",
+      "computedValue": "list, each item either an <image> or the keyword none",
+      "canonicalOrder": "per grammar",
+      "animationType": "discrete",
+      "values": [
+        {
+          "name": "none",
+          "prose": "A value of none counts as a background image layer but draws nothing. An image that is empty (zero width or zero height), that fails to download, or that cannot be displayed (e.g., because it is not in a supported image format) likewise counts as a layer but draws nothing.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-image-none",
+          "type": "value",
+          "value": "none"
+        }
+      ],
+      "styleDeclaration": [
+        "background-image",
+        "backgroundImage"
+      ]
+    },
+    {
       "name": "background-repeat-x",
       "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat-x",
       "value": "<repetition>#",
@@ -225,19 +266,42 @@
       ]
     },
     {
-      "name": "background-position",
-      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position",
-      "value": "<bg-position>#",
-      "initial": "0% 0%",
+      "name": "background-attachment",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-attachment",
+      "value": "<attachment>#",
+      "initial": "scroll",
       "appliesTo": "all elements",
       "inherited": "no",
-      "percentages": "refer to size of background positioning area minus size of background image; see text",
-      "computedValue": "a list, each item a pair of offsets (horizontal and vertical) from the top left origin, each offset given as a computed <length-percentage> value",
+      "percentages": "N/A",
+      "computedValue": "list, each item the keyword as specified",
       "canonicalOrder": "per grammar",
-      "animationType": "repeatable list",
+      "animationType": "discrete",
+      "values": [
+        {
+          "name": "fixed",
+          "prose": "The background is fixed with regard to the viewport. In paged media where there is no viewport, a fixed background is fixed with respect to the page box and therefore replicated on every page.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-attachment-fixed",
+          "type": "value",
+          "value": "fixed"
+        },
+        {
+          "name": "local",
+          "prose": "The background is fixed with regard to the box’s contents: if the box has a scrolling mechanism, the background scrolls with the box’s contents, and the background painting area and background positioning area are relative to the scrollable overflow area of the box rather than to the border framing them. Because the scrollable overflow area does not include the border area, for scroll containers the border-box value of background-clip may be treated the same as padding-box.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-attachment-local",
+          "type": "value",
+          "value": "local"
+        },
+        {
+          "name": "scroll",
+          "prose": "The background is fixed with regard to the box itself and does not scroll with its contents. (It is effectively attached to the box’s border.)",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-attachment-scroll",
+          "type": "value",
+          "value": "scroll"
+        }
+      ],
       "styleDeclaration": [
-        "background-position",
-        "backgroundPosition"
+        "background-attachment",
+        "backgroundAttachment"
       ]
     },
     {
@@ -309,6 +373,73 @@
       ]
     },
     {
+      "name": "background-position",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position",
+      "value": "<bg-position>#",
+      "initial": "0% 0%",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "refer to size of background positioning area minus size of background image; see text",
+      "computedValue": "a list, each item a pair of offsets (horizontal and vertical) from the top left origin, each offset given as a computed <length-percentage> value",
+      "canonicalOrder": "per grammar",
+      "animationType": "repeatable list",
+      "values": [
+        {
+          "name": "<percentage>",
+          "prose": "A percentage for the horizontal offset is relative to (width of background positioning area - width of background image). A percentage for the vertical offset is relative to (height of background positioning area - height of background image), where the size of the image is the size given by background-size. For example, with a value pair of 0% 0%, the upper left corner of the image is aligned with the upper left corner of, usually, the box’s padding edge. A value pair of 100% 100% places the lower right corner of the image in the lower right corner of the area. With a value pair of 75% 50%, the point 75% across and 50% down the image is to be placed at the point 75% across and 50% down the area. Diagram of the meaning of background-position: 75% 50%.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-position-percentage",
+          "type": "value",
+          "value": "<percentage>"
+        },
+        {
+          "name": "<length>",
+          "prose": "A length value gives a fixed length as the offset. For example, with a value pair of 2cm 1cm, the upper left corner of the image is placed 2cm to the right and 1cm below the upper left corner of the background positioning area.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-position-length",
+          "type": "value",
+          "value": "<length>"
+        },
+        {
+          "name": "top",
+          "prose": "Computes to 0% for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-position-top",
+          "type": "value",
+          "value": "top"
+        },
+        {
+          "name": "right",
+          "prose": "Computes to 100% for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-position-right",
+          "type": "value",
+          "value": "right"
+        },
+        {
+          "name": "bottom",
+          "prose": "Computes to 100% for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-position-bottom",
+          "type": "value",
+          "value": "bottom"
+        },
+        {
+          "name": "left",
+          "prose": "Computes to 0% for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-position-left",
+          "type": "value",
+          "value": "left"
+        },
+        {
+          "name": "center",
+          "prose": "Computes to 50% (left 50%) for the horizontal position if the horizontal position is not otherwise specified, or 50% (top 50%) for the vertical position if it is.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-position-center",
+          "type": "value",
+          "value": "center"
+        }
+      ],
+      "styleDeclaration": [
+        "background-position",
+        "backgroundPosition"
+      ]
+    },
+    {
       "name": "background-clip",
       "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-clip",
       "value": "<bg-clip>#",
@@ -325,6 +456,91 @@
       ]
     },
     {
+      "name": "background-origin",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-origin",
+      "value": "<visual-box>#",
+      "initial": "padding-box",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "N/A",
+      "computedValue": "list, each item a keyword as specified",
+      "canonicalOrder": "per grammar",
+      "animationType": "repeatable list",
+      "values": [
+        {
+          "name": "padding-box",
+          "prose": "The position is relative to the padding box. (For single boxes 0 0 is the upper left corner of the padding edge, 100% 100% is the lower right corner.)",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-origin-padding-box",
+          "type": "value",
+          "value": "padding-box"
+        },
+        {
+          "name": "border-box",
+          "prose": "The position is relative to the border box.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-origin-border-box",
+          "type": "value",
+          "value": "border-box"
+        },
+        {
+          "name": "content-box",
+          "prose": "The position is relative to the content box.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-origin-content-box",
+          "type": "value",
+          "value": "content-box"
+        }
+      ],
+      "styleDeclaration": [
+        "background-origin",
+        "backgroundOrigin"
+      ]
+    },
+    {
+      "name": "background-size",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-size",
+      "value": "<bg-size>#",
+      "initial": "auto",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "see text",
+      "computedValue": "list, each item a pair of sizes (one per axis) each represented as either a keyword or a computed <length-percentage> value",
+      "canonicalOrder": "per grammar",
+      "animationType": "repeatable list",
+      "values": [
+        {
+          "name": "contain",
+          "prose": "Scale the image, while preserving its natural aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-size-contain",
+          "type": "value",
+          "value": "contain"
+        },
+        {
+          "name": "cover",
+          "prose": "Scale the image, while preserving its natural aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-size-cover",
+          "type": "value",
+          "value": "cover"
+        },
+        {
+          "name": "<length-percentage [0,∞]>",
+          "prose": "The first value gives the width of the corresponding image, the second value its height. If only one value is given the second is assumed to be auto. A <percentage> is relative to the background positioning area. An auto value for one dimension is resolved by using the image’s natural aspect ratio and the size of the other dimension, or failing that, using the image’s natural size, or failing that, treating it as 100%. If both values are auto then the natural width and/or height of the image should be used, if any, the missing dimension (if any) behaving as auto as described above. If the image has neither natural size, its size is determined as for contain. Negative values are invalid.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-size-length-percentage-0",
+          "type": "value",
+          "value": "<length-percentage [0,∞]>"
+        },
+        {
+          "name": "auto",
+          "prose": "The first value gives the width of the corresponding image, the second value its height. If only one value is given the second is assumed to be auto. A <percentage> is relative to the background positioning area. An auto value for one dimension is resolved by using the image’s natural aspect ratio and the size of the other dimension, or failing that, using the image’s natural size, or failing that, treating it as 100%. If both values are auto then the natural width and/or height of the image should be used, if any, the missing dimension (if any) behaving as auto as described above. If the image has neither natural size, its size is determined as for contain. Negative values are invalid.",
+          "href": "https://drafts.csswg.org/css-backgrounds-4/#valdef-background-size-auto",
+          "type": "value",
+          "value": "auto"
+        }
+      ],
+      "styleDeclaration": [
+        "background-size",
+        "backgroundSize"
+      ]
+    },
+    {
       "name": "background-tbd",
       "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-tbd",
       "value": "<bg-layer>#",
@@ -339,12 +555,33 @@
         "background-tbd",
         "backgroundTbd"
       ]
+    },
+    {
+      "name": "background",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background",
+      "value": "<bg-layer>#? , <final-bg-layer>",
+      "initial": "see individual properties",
+      "appliesTo": "all elements",
+      "inherited": "no",
+      "percentages": "see individual properties",
+      "computedValue": "see individual properties",
+      "animationType": "see individual properties",
+      "canonicalOrder": "per grammar",
+      "styleDeclaration": [
+        "background"
+      ]
     }
   ],
   "atrules": [],
   "selectors": [],
   "values": [
     {
+      "name": "<bg-image>",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-image",
+      "type": "type",
+      "value": "<image> | none"
+    },
+    {
       "name": "<repetition>",
       "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-repetition",
       "type": "type",
@@ -357,6 +594,12 @@
       "value": "repeat-x | repeat-y | <repetition>{1,2}"
     },
     {
+      "name": "<attachment>",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-attachment",
+      "type": "type",
+      "value": "scroll | fixed | local"
+    },
+    {
       "name": "<bg-position>",
       "prose": "Its value is given as a comma-separated list of <bg-position> values, which are interpreted as <position> values with the resized background image as the alignment subject and the background positioning area as the alignment container.",
       "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-position",
@@ -397,6 +640,24 @@
           "value": "border-area"
         }
       ]
+    },
+    {
+      "name": "<bg-size>",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-size",
+      "type": "type",
+      "value": "[ <length-percentage [0,∞]> | auto ]{1,2} | cover | contain"
+    },
+    {
+      "name": "<bg-layer>",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-layer",
+      "type": "type",
+      "value": "<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <bg-clip> || <visual-box>"
+    },
+    {
+      "name": "<final-bg-layer>",
+      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-final-bg-layer",
+      "type": "type",
+      "value": "<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <bg-clip> || <visual-box> || <'background-color'>"
     }
   ]
 }

diff --ignore-trailing-space '--exclude=package.json' '--exclude=README.md' '--exclude=CHANGELOG.md' '--unified=3' webref/node_modules/@webref/css/css-cascade.json packages/css6/css-cascade.json
--- webref/node_modules/@webref/css/css-cascade.json
+++ packages/css6/css-cascade.json
@@ -50,6 +50,13 @@
           "href": "https://drafts.csswg.org/css-cascade-5/#valdef-all-revert-layer",
           "type": "value",
           "value": "revert-layer"
+        },
+        {
+          "name": "revert-rule",
+          "prose": "The revert-rule CSS-wide keyword rolls back the cascade similar to revert and revert-layer, except it works by style rule rather than cascade origin or cascade layer.",
+          "href": "https://drafts.csswg.org/css-cascade-5/#valdef-all-revert-rule",
+          "type": "value",
+          "value": "revert-rule"
         }
       ],
       "styleDeclaration": [

diff --ignore-trailing-space '--exclude=package.json' '--exclude=README.md' '--exclude=CHANGELOG.md' '--unified=3' webref/node_modules/@webref/css/css-content.json packages/css6/css-content.json
--- webref/node_modules/@webref/css/css-content.json
+++ packages/css6/css-content.json
@@ -289,14 +289,14 @@
       "values": [
         {
           "name": "open-quote",
-          "prose": "These values are replaced by the appropriate string as defined by the quotes property, and increments (for no-open-quote) or decrements (for no-close-quote) the level of nesting for quotes.",
+          "prose": "These values are replaced by the appropriate string as defined by the quotes property, and increments (for open-quote) or decrements (for close-quote) the level of nesting for quotes.",
           "href": "https://drafts.csswg.org/css-content-3/#valdef-content-open-quote",
           "type": "value",
           "value": "open-quote"
         },
         {
           "name": "close-quote",
-          "prose": "These values are replaced by the appropriate string as defined by the quotes property, and increments (for no-open-quote) or decrements (for no-close-quote) the level of nesting for quotes.",
+          "prose": "These values are replaced by the appropriate string as defined by the quotes property, and increments (for open-quote) or decrements (for close-quote) the level of nesting for quotes.",
           "href": "https://drafts.csswg.org/css-content-3/#valdef-content-close-quote",
           "type": "value",
           "value": "close-quote"

diff --ignore-trailing-space '--exclude=package.json' '--exclude=README.md' '--exclude=CHANGELOG.md' '--unified=3' webref/node_modules/@webref/css/css-exclusions.json packages/css6/css-exclusions.json
--- webref/node_modules/@webref/css/css-exclusions.json
+++ packages/css6/css-exclusions.json
@@ -14,6 +14,7 @@
       "percentages": "N/A",
       "computedValue": "as specified except for element’s whose float computed value is not none, in which case the computed value is auto.",
       "canonicalOrder": "per grammar",
+      "animationType": "discrete",
       "values": [
         {
           "name": "auto",
@@ -80,6 +81,7 @@
       "percentages": "N/A",
       "computedValue": "as specified",
       "canonicalOrder": "per grammar",
+      "animationType": "discrete",
       "values": [
         {
           "name": "wrap",

diff --ignore-trailing-space '--exclude=package.json' '--exclude=README.md' '--exclude=CHANGELOG.md' '--unified=3' webref/node_modules/@webref/css/css-text-decor-4.json packages/css6/css-text-decor-4.json
--- webref/node_modules/@webref/css/css-text-decor-4.json
+++ packages/css6/css-text-decor-4.json
@@ -657,7 +657,7 @@
         },
         {
           "name": "symbols",
-          "prose": "Skip symbols. Symbols in this definition includes all typographic character units belonging to the Unicode S* general category as well as any which are NFKD-equivalent [UAX15] to the following characters from the Unicode Po category: # U+0023 NUMBER SIGN % U+0025 PERCENT SIGN ‰ U+2030 PER MILLE SIGN ‱ U+2031 PER TEN THOUSAND SIGN ٪ U+066A ARABIC PERCENT SIGN ؉ U+0609 ARABIC-INDIC PER MILLE SIGN ؊ U+060A ARABIC-INDIC PER TEN THOUSAND SIGN & U+0026 AMPERSAND ⁊ U+204A TIRONIAN SIGN E[[ @ U+0040 COMMERCIAL AT § U+00A7 SECTION SIGN ¶ U+00B6 PILCROW SIGN ⁋ U+204B REVERSED PILCROW SIGN ⁓ U+2053 SWUNG DASH 〽️ U+303D PART ALTERNATION MARK",
+          "prose": "Skip symbols. Symbols in this definition includes all typographic character units belonging to the Unicode S* general category as well as any which are NFKD-equivalent [UAX15] to the following characters from the Unicode Po category: # U+0023 NUMBER SIGN % U+0025 PERCENT SIGN ‰ U+2030 PER MILLE SIGN ‱ U+2031 PER TEN THOUSAND SIGN ٪ U+066A ARABIC PERCENT SIGN ؉ U+0609 ARABIC-INDIC PER MILLE SIGN ؊ U+060A ARABIC-INDIC PER TEN THOUSAND SIGN & U+0026 AMPERSAND ⁊ U+204A TIRONIAN SIGN ET @ U+0040 COMMERCIAL AT § U+00A7 SECTION SIGN ¶ U+00B6 PILCROW SIGN ⁋ U+204B REVERSED PILCROW SIGN ⁓ U+2053 SWUNG DASH 〽️ U+303D PART ALTERNATION MARK",
           "href": "https://drafts.csswg.org/css-text-decor-4/#valdef-text-emphasis-skip-symbols",
           "type": "value",
           "value": "symbols"

diff --ignore-trailing-space '--exclude=package.json' '--exclude=README.md' '--exclude=CHANGELOG.md' '--unified=3' webref/node_modules/@webref/css/css-ui.json packages/css6/css-ui.json
--- webref/node_modules/@webref/css/css-ui.json
+++ packages/css6/css-ui.json
@@ -54,7 +54,7 @@
     {
       "name": "outline-color",
       "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-color",
-      "value": "auto | <color> | <image-1D>",
+      "value": "auto | <'border-top-color'>",
       "initial": "auto",
       "appliesTo": "all elements",
       "inherited": "no",
@@ -110,7 +110,7 @@
     {
       "name": "cursor",
       "href": "https://drafts.csswg.org/css-ui-4/#propdef-cursor",
-      "value": "<cursor-image>#? <cursor-predefined>",
+      "value": "[<cursor-image>,]* <cursor-predefined>",
       "initial": "auto",
       "appliesTo": "all elements",
       "inherited": "yes",

@github-actions github-actions bot force-pushed the release-css6-20251023065820264 branch 29 times, most recently from 1147039 to 0062c93 Compare October 30, 2025 12:53
@github-actions github-actions bot force-pushed the release-css6-20251023065820264 branch from 0062c93 to afcaa88 Compare October 30, 2025 18:49
@github-actions github-actions bot force-pushed the release-css6-20251023065820264 branch 3 times, most recently from 3addd70 to 7918074 Compare October 31, 2025 12:53
@github-actions github-actions bot force-pushed the release-css6-20251023065820264 branch from 7918074 to 35c14f8 Compare October 31, 2025 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant